package com.ruoyi.cust.mapper;

import java.util.List;

import com.ruoyi.cust.domain.CityProject;
import org.apache.ibatis.annotations.Param;

/**
 * 项目Mapper接口
 *
 * @author ruoyi
 * @date 2024-12-06
 */
public interface CityProjectMapper {
    /**
     * 查询项目
     *
     * @param projectId 项目主键
     * @return 项目
     */
    public CityProject selectCityProjectByProjectId(Long projectId);

    /**
     * 查询项目列表
     *
     * @param cityProject 项目
     * @return 项目集合
     */
    public List<CityProject> selectCityProjectList(CityProject cityProject);

    /**
     * 新增项目
     *
     * @param cityProject 项目
     * @return 结果
     */
    public int insertCityProject(CityProject cityProject);

    /**
     * 修改项目
     *
     * @param cityProject 项目
     * @return 结果
     */
    public int updateCityProject(CityProject cityProject);

    /**
     * 删除项目
     *
     * @param projectId 项目主键
     * @return 结果
     */
    public int deleteCityProjectByProjectId(Long projectId);

    /**
     * 批量删除项目
     *
     * @param projectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCityProjectByProjectIds(Long[] projectIds);

    public abstract List selectCollectCityProjectList(@Param("userId") Long userId,@Param("searchValue") String searchValue);

    public abstract List selectShareCityProjectList(@Param("userId") Long userId,@Param("searchValue") String searchValue);

    //根据关键字查询
    public List<CityProject> selectCityProjectListByKeyword(@Param("storeType") String storeType, @Param("searchInfo") String searchInfo);

    List<CityProject> selectJoinList(CityProject cityProject);

    CityProject selectJoinById(Long projectId);

    List<CityProject> listHotSearch(String storeType);
}
